package io.datajek.springbasics.movierecommendersystem.lesson11;

import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
public class RecommenderImplementation {
    private Logger logger=LoggerFactory.getLogger(this.getClass());
    private Filter filter;
    @Autowired
    public void setFilter(Filter filter){
        logger.info("In RecommenderImplementation setter method..dependency injection");
        this.filter=filter;
    }

    //使用过滤器来获得推荐
    public String[] recommendMovies(String movie){
        //打印正在使用的接口实现的名称
        System.out.println("正在使用的过滤器名称:"+filter+"\n");
        //使用基于内容的过滤器来寻找类似的电影
        String[] results =filter.getRecommendations("Finding Dory");
        return results;
    }
    @PostConstruct
    public void postConstruct(){
        //初始化代码
        logger.info("In RecommenderImplementation setter method");
    }
    @PreDestroy
    public void preDestroy(){
        //用于清理代码
       logger.info("In RecommenderImplementation setter method");
    }
}
